package com.mes.cloud.dto;

import com.mes.cloud.annotation.ExcelAttribute;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 用户
 *
 * @author wxm
 * @Time 2019-4-16
 */
@ApiModel(value = "UserDTO", description = "用户")
@Data
public class UserDTO extends BaseDto implements Serializable {
    private static final long serialVersionUID = 1L;

    public UserDTO() {
    }

    /**
     *
     */
    @ApiModelProperty(value = "ID", dataType = "Long")
    @ExcelAttribute(name = "ID", column = "A")
    private Long id;

    private String pwd;
    /**
     * 用户编号
     */
    @ApiModelProperty(value = "用户编号", dataType = "String")
    @ExcelAttribute(name = "用户编号", column = "B")
    @NotNull(message = "userNo不能为空！")
    private String userNo;
    /**
     * 员工姓名
     */
    @ApiModelProperty(value = "员工姓名", dataType = "String")
    @ExcelAttribute(name = "员工姓名", column = "C")
    @NotNull(message = "name不能为空！")
    private String name;
    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话", dataType = "String")
    @ExcelAttribute(name = "联系电话", column = "D")
    @NotNull(message = "phone不能为空！")
    private String phone;
    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱", dataType = "String")
    @ExcelAttribute(name = "邮箱", column = "E")
    @NotNull(message = "email不能为空！")
    private String email;

    /**
     * 角色
     */
    @ApiModelProperty(value = "角色", dataType = "Long")
    @ExcelAttribute(name = "角色", column = "F")
    private Long roleId;
    /**
     * 主要职位
     */
    @ApiModelProperty(value = "主要职位", dataType = "Long")
    @ExcelAttribute(name = "主要职位", column = "G")
    private Long mainPostId;
    /**
     * 主要组织
     */
    @ApiModelProperty(value = "主要组织", dataType = "Long")
    @ExcelAttribute(name = "主要组织", column = "H")
    private Long mainOrgId;

    /**
     *
     */
    @ApiModelProperty(value = "创建时间", dataType = "Date")
    @ExcelAttribute(name = "创建时间", column = "I")
    private Date crtdate;

    /**
     *
     */
    @ApiModelProperty(value = "修改时间", dataType = "Date")
    @ExcelAttribute(name = "修改时间", column = "J")
    private Date upddate;
    /**
     * 描述
     */
    @ApiModelProperty(value = "描述", dataType = "String")
    @ExcelAttribute(name = "描述", column = "K")
    private String remark;
    /**
     *
     */
    @ApiModelProperty(value = "0正常/1删除", dataType = "Integer")
    private Integer isDelete;
    /**
     *
     */
    @ApiModelProperty(value = "0正常/1禁用", dataType = "Integer")
    @ExcelAttribute(name = "0正常/1禁用", column = "L")
    private Integer isEnable;

    //状态：01在职 02离职
    @ApiModelProperty(value = "状态01在职 02离职", dataType = "String")
    @ExcelAttribute(name = "状态", column = "M")
    private String status;

    //员工类型：01正式员工、02非正式员工
    @ApiModelProperty(value = "类型01正式员工、02非正式员工", dataType = "String")
    @ExcelAttribute(name = "类型", column = "N")
    private String userType;

    @ApiModelProperty(value = "别名", dataType = "String")
    @ExcelAttribute(name = "别名", column = "O")
    private String userAlias;

    @ApiModelProperty(value = "Base地区", dataType = "String")
    @ExcelAttribute(name = "Base地区", column = "P")
    private String baseAddr;

    @ApiModelProperty(value = "数据来源", dataType = "String")
    @ExcelAttribute(name = "数据来源", column = "Q")
    private String dataSource;

    @ApiModelProperty(value = "行政区划id", dataType = "Long")
    @ExcelAttribute(name = "行政区划id", column = "R")
    private Long areaId;

}
